package com.ddxz.demo.clickhouse.mapper;

import com.ddxz.demo.clickhouse.entity.InsideIpEntity;
import com.ddxz.demo.clickhouse.entity.OutsideIpEntity;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;

import java.util.List;

/**
 * description
 *
 * @author 朱宗刚
 * @version 1.0.0
 * @date 2022/1/18
 */

@Mapper
@Repository
public interface DataGeneratorMapper {
    /**
     * 根据城市获取IP区间以及运营商等信息
     * @param city 城市名
     * @return IP信息清单
     */
    List<InsideIpEntity> getIpListByCity(@Param("city") String city);

    /**
     * 根据省份获取IP区间以及运营商等信息
     * @param province 省份
     * @return IP信息清单
     */
    List<InsideIpEntity> getIpListByProvince(@Param("province") String province);

    /**
     * 获取所有的省份信息
     * @return 省份清单
     */
    List<String> getProvince();

    /**
     * 获取指定省份下的所有地市信息
     * @param province
     * @return
     */
    List<String> getCityByProvince(@Param("province") String province);

    /**
     * 根据国家获取IP区间信息
     * @param country 国家名称
     * @return IP清单
     */
    List<OutsideIpEntity> getIpListByCountry(@Param("country") String country);
}
